package com.zslibrary.BusMaster;

import com.zslibrary.Structure.ErrorStruct;

import java.util.HashMap;

public class HandleError {
//    private final static Queue<ErrorStruct> localErrors=new LinkedList<ErrorStruct>();  /*TODO:需要持久化*/
    private final static HashMap<String, ErrorStruct> localErrors=new HashMap<>();

    public static void setError(ErrorStruct error){
//        if(!localErrors.contains(error))
//            localErrors.offer(error);
        ErrorStruct errors=localErrors.get(error.errorCode);
        if(errors==null){
            localErrors.put(error.errorCode,error);
        }
    }

    /*返回最新的一条错误*/
//    public static ErrorStruct getError(){
//        return localErrors.peek();
//
//    }

    public static ErrorStruct[] getAllErrors(){
        ErrorStruct[] errors=null;
        if(localErrors.size()>0){
//            errors=localErrors.toArray(new String[localErrors.size()]);
//            errors=localErrors.toArray(new ErrorStruct[localErrors.size()]);
            errors=localErrors.values().toArray(new ErrorStruct[localErrors.size()]);
        }
        return errors;
    }

    public static void clearError(String error){
//        if(localErrors.contains(error)){
//            localErrors.remove(error);
//        }
        localErrors.remove(error);
    }

    public static void clearAllError(){
        localErrors.clear();
    }

    public static int getNumberOfError(){
        return localErrors.size();
    }
}
